package org.xx.armory.swing;

import org.xx.armory.commons.Version;
import org.xx.armory.swing.builders.SimpleAction;

import java.awt.Image;

/**
 * 标准UI控制器，此控制器不关联到任何界面组件。
 */
public interface StandardUIController {
    /**
     * 获取版本号。
     *
     * @return 版本号。
     */
    Version getVersion();

    /**
     * 创建一个Action。
     *
     * @param actionName
     *         Action的名字。
     * @return Action。
     * @throws IllegalArgumentException
     *         如果指定名字的Action不存在。
     */
    SimpleAction getAction(
            String actionName
    );

    Image getImage(
            String imageName
    );

    String getMessage(
            String name
    );

    String formatMessage(
            String name,
            Object... values
    );
}
